package com.union.core.sys.service;

import java.util.List;

import org.apache.log4j.Logger;
import com.union.core.sys.dao.SysModuleDao;
import com.union.core.sys.dao.SysModuleTypeDao;
import com.union.core.sys.dao.impl.SysModuleDaoImpl;
import com.union.core.sys.dao.impl.SysModuleTypeDaoImpl;
import com.union.core.sys.model.SysModule;
import com.union.core.sys.model.SysModuleType;

/**
 * 业务逻辑处理类:系统模块
 * filename: SysModuleService.java
 * project:  CCTR
 * @company Hainan Jowe Technology Ltd
 * @author wangxiuwu
 * @create in 2009-5-22
 * @version 1.0
 */
public class SysModuleService{
	
	private static Logger log = Logger.getLogger(SysModuleService.class.getName());
	private SysModuleTypeDao sysModuleTypeDaoImpl;
	private SysModuleDao sysModuleDaoImpl;
	
	public SysModuleService(){
		sysModuleTypeDaoImpl = new SysModuleTypeDaoImpl();
		sysModuleDaoImpl = new SysModuleDaoImpl();
	}
	
	public List<SysModuleType> querySysModuleTypes(){
		log.info("查询系统模块类型列表");
		return sysModuleTypeDaoImpl.getModuleTypeList();
	}
	public List<SysModule> querySysModules(int sysModuleTypeId){
		log.info("查询系统模块列表");
		return sysModuleDaoImpl.getModuleList(sysModuleTypeId);
	}
	
	public SysModule querySysModule(int sysModuleId){
		SysModule sysModule = sysModuleDaoImpl.getModule(sysModuleId);
		log.info("加载系统模块修改页面: "+sysModule.getMODULE_NAME());
		return sysModule;
	}
	
	public void modifySysModule(SysModule sysModule){
		sysModuleDaoImpl.modifyModule(sysModule);
		log.info("修改系统模块: "+sysModule.getMODULE_NAME());
	}
	
	public void deleteSysModule(int sysModuleId){
		sysModuleDaoImpl.deleteModule(sysModuleId);
		log.info("删除系统模块: "+sysModuleId);
	}
	
	public void addSysModule(SysModule sysModule){
    	int orderNum = sysModuleDaoImpl.getOrderNumByAuto_module();
    	sysModule.setIF_SHOW(1);
    	sysModule.setORDER_NUM(orderNum);
		sysModuleDaoImpl.addModule(sysModule);
		log.info("添加系统模块: "+sysModule.getMODULE_NAME());
	}
	
	public void orderSysModule(int sysModuleId, String orderType,int sysModuleTypeId){
		try{
			sysModuleDaoImpl.orderModule(sysModuleId, orderType, sysModuleTypeId);
		}catch(Exception ex){}
		log.info("排序系统模块: "+sysModuleId);
	}
	
	public void modifySTATUS(int sysModuleId, int status){
		sysModuleDaoImpl.modifyModule(sysModuleId, status);
		log.info("修改系统模块状态:"+sysModuleId + " : "+status);
	}
	
	public void modifySHOW(int sysModuleId, int ifShow){
		sysModuleDaoImpl.modifyModule3(sysModuleId, ifShow);
		log.info("修改系统模块是否可见:"+sysModuleId + " : "+ifShow);
	}

}
